package org.xiaojl.config.quartz.service;

import java.util.List;

import org.xiaojl.modules.task.entity.TaskJob;


public interface TaskJobManageService {
	/**
	 * 添加任务
	 * 
	 * @param taskJob
	 */
	void addTaskJob(TaskJob taskJob);

	/**
	 * 暂停任务
	 * 
	 * @param taskJob
	 */
	void pauseTaskJob(TaskJob taskJob);

	/**
	 * 恢复任务
	 * 
	 * @param taskJob
	 */
	void resumeTaskJob(TaskJob taskJob);

	/**
	 * 删除任务
	 * 
	 * @param taskJob
	 */
	void deleteTaskJob(TaskJob taskJob);

	/**
	 * 立即执行任务
	 * 
	 * @param taskJob
	 */
	void runTaskJobNow(TaskJob taskJob);

	/**
	 * 更新任务
	 * 
	 * @param taskJob
	 */
	void updateSchedule(TaskJob taskJob);

	/**
	 * 所有任务
	 * 
	 * @return
	 */
	List<TaskJob> getAllTaskJob();

	/**
	 * 所有正在运行的任务
	 * 
	 * @return
	 */
	List<TaskJob> getAllTaskJobRunning();

	/**
	 * 系统初始化添加计划任务
	 */
	void init();
}
